|
Cgroups : Install
2017/08/30 |
|
It's possible to allocate resources or monitoring, such as CPU time, system memory with Control Groups (Cgroups).
|
|
| [1] | Install packages to use Cgroups. |
|
[root@dlp ~]#
[root@dlp ~]# yum -y install libcgroup libcgroup-tools systemctl start cgconfig [root@dlp ~]# systemctl enable cgconfig
|
| [2] | Because Systemd uses Cgroups, [libcgroup] package is installed by default, though. Some controlers for each subsystem are mounted under the [/sys/fs/cgroup] like follows by default. The subsystem on Cgroups means a resource like CPu or memory and so on. |
|
[root@dlp ~]# ll /sys/fs/cgroup total 0 drwxr-xr-x. 2 root root 0 Aug 30 09:23 blkio lrwxrwxrwx. 1 root root 11 Aug 30 09:23 cpu -> cpu,cpuacct lrwxrwxrwx. 1 root root 11 Aug 30 09:23 cpuacct -> cpu,cpuacct drwxr-xr-x. 2 root root 0 Aug 30 09:23 cpu,cpuacct drwxr-xr-x. 2 root root 0 Aug 30 09:23 cpuset drwxr-xr-x. 4 root root 0 Aug 30 09:23 devices drwxr-xr-x. 2 root root 0 Aug 30 09:23 freezer drwxr-xr-x. 2 root root 0 Aug 30 09:23 hugetlb drwxr-xr-x. 2 root root 0 Aug 30 09:23 memory lrwxrwxrwx. 1 root root 16 Aug 30 09:23 net_cls -> net_cls,net_prio drwxr-xr-x. 2 root root 0 Aug 30 09:23 net_cls,net_prio lrwxrwxrwx. 1 root root 16 Aug 30 09:23 net_prio -> net_cls,net_prio drwxr-xr-x. 2 root root 0 Aug 30 09:23 perf_event drwxr-xr-x. 2 root root 0 Aug 30 09:23 pids drwxr-xr-x. 4 root root 0 Aug 30 09:23 systemd |
|
| [3] | It's possible to make sure current Control Grouos like follows. This is the default state on minimal installation. |
|
[root@dlp ~]# lscgroup cpuset:/ net_cls,net_prio:/ blkio:/ cpu,cpuacct:/ perf_event:/ memory:/ pids:/ freezer:/ hugetlb:/ devices:/ devices:/user.slice devices:/system.slice devices:/system.slice/rsyslog.service devices:/system.slice/tuned.service devices:/system.slice/sshd.service devices:/system.slice/postfix.service devices:/system.slice/polkit.service devices:/system.slice/crond.service devices:/system.slice/systemd-udevd.service devices:/system.slice/dbus.service devices:/system.slice/irqbalance.service devices:/system.slice/lvm2-lvmetad.service devices:/system.slice/auditd.service devices:/system.slice/system-getty.slice devices:/system.slice/chronyd.service devices:/system.slice/NetworkManager.service devices:/system.slice/systemd-logind.service devices:/system.slice/systemd-journald.service devices:/system.slice/firewalld.service |
| [4] | By the way, it's possible to make sure default Systemd Control Groups like follows. |
|
[root@dlp ~]# systemd-cgls +--1 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
+--user.slice
| +--user-0.slice
| +--session-1.scope
| +-- 791 login -- root
| +--1095 -bash
| +--8395 systemd-cgls
| +--8396 less
+--system.slice
+--rsyslog.service
| +--986 /usr/sbin/rsyslogd -n
+--tuned.service
| +--985 /usr/bin/python -Es /usr/sbin/tuned -l -P
+--sshd.service
| +--984 /usr/sbin/sshd -D
+--postfix.service
| +--1084 /usr/libexec/postfix/master -w
| +--1086 qmgr -l -t unix -u
| +--8359 pickup -l -t unix -u
+--NetworkManager.service
| +--647 /usr/sbin/NetworkManager --no-daemon
+--firewalld.service
| +--641 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
+--crond.service
| +--634 /usr/sbin/crond -n
+--dbus.service
| +--619 /bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --sy
+--polkit.service
| +--618 /usr/lib/polkit-1/polkitd --no-debug
+--irqbalance.service
| +--616 /usr/sbin/irqbalance --foreground
+--chronyd.service
| +--622 /usr/sbin/chronyd
+--systemd-logind.service
| +--613 /usr/lib/systemd/systemd-logind
+--auditd.service
| +--591 /sbin/auditd -n
| +--597 /sbin/audispd
| +--602 /usr/sbin/sedispatch
+--systemd-udevd.service
| +--487 /usr/lib/systemd/systemd-udevd
+--lvm2-lvmetad.service
| +--477 /usr/sbin/lvmetad -f
+--system-getty.slice
| +--getty@tty1.service
| +--645 /sbin/agetty --noclear tty1 linux
+--systemd-journald.service
+--462 /usr/lib/systemd/systemd-journald
|